博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
struts2系列(二):struts2参数传递错误、struts2的输入错误验证
阅读量:6873 次
发布时间:2019-06-26

本文共 1629 字,大约阅读时间需要 5 分钟。

一、struts2参数传递错误

1. 基本数据类型的传递最好使用包装类,原因是struts 2.1之后使用基本数据类型如果参数为空会报错

2. 日期参数的传递最好定义一个区域的属性(定义locale),在struts.properties里面定义struts.locale=zh_CN,原因是日期在不同的区域中格式不一样,所以默认情况下日期会随着浏览器的不同使用不同的区域的日期格式

二、struts2的输入错误验证

1. 在前一篇文章关于struts2系列(一)的文章中搭建的struts2的开发环境中改写HelloWorldAction.java,在里面复写ActionSupport的validate()方法,然后在这个方法里面使用ActionSupport的addFieldError()方法添加错误

HelloWorldAction.java:

1 package com.study.struts2.demo; 2  3 import com.opensymphony.xwork2.ActionSupport; 4  5 public class HelloWorldAction extends ActionSupport { 6  7     /** 8      *  9      */10     private static final long serialVersionUID = 6522825387249101847L;11 12     private String msg;13 14     @Override15     public void validate() {16         if (msg == null || "".equals(msg)) {17             super.addFieldError("msg", "信息不能为空");18 19         }20     }21 22     @Override23     public String execute() throws Exception {24 25         // 通过request取得jsp的内置对象26         // this.msg="hellowrold123";27         return SUCCESS;28     }29 30     public String getMsg() {31         return msg;32     }33 34     public void setMsg(String msg) {35         this.msg = msg;36     }37 38 }

2. 在jindex.jsp页面通过struts2的标签<s:property value="fieldErrors['msg'][0]" />获取错误显示

1 <%@ page language="java" pageEncoding="UTF-8"%> 2 
3 <%@ taglib prefix="s" uri="/struts-tags"%> 4 5

6 Hello World 7

8 9
10
11 信息:
" />12
13
14
15 16
17

18
19

20 21

3. 验证:在浏览器输入地址http://localhost:8080/TestStruts2/

3.1 首次进入页面

3.2  什么都不输入,点击提交按钮

3.3 输入内容再点击提交按钮

 

转载地址:http://ozpfl.baihongyu.com/

你可能感兴趣的文章
十一个关于Netty的经典问答:为何选择Netty?
查看>>
深入浅出 FlatBuffers 之 Schema
查看>>
JavaScript 设计模式 : 生活中的'适配器'和'装饰者'模式
查看>>
Retrofit与Rxjava封装终结者(一)基本用法
查看>>
Weex 在饿了么前端的实践
查看>>
Element源码分析系列3-Button(按钮)
查看>>
ES6零基础教学_解析彩票项目-学习笔记(三)
查看>>
Django2 web实战01-启动项目
查看>>
玩转iOS开发:4.《Core Animation》CALayer的视觉效果
查看>>
Flutter「发布预览版 2」让 iOS 应用至臻完美
查看>>
隐式动画的性能瓶颈
查看>>
30 天精通 RxJS(24): Observable operators - multicast, refCount, publish, share
查看>>
js选择排序
查看>>
SpringBoot详解(四)-优雅地处理日志
查看>>
Glide 知识梳理(4) 自定义animate
查看>>
Android 注解系列之Annotation(二)
查看>>
JavaEE进阶知识学习-----SpringCloud(五)Eureka和Zookeeper区别
查看>>
Function构造函数、 函数声明 、 函数表达式 的区别
查看>>
类似if一样的自定义代码块
查看>>
[译]如何在 iOS 上实现类似 Airbnb 中的可展开式菜单
查看>>